Today, internet-browsing via the world-wide-web is by and large confined to stationary users who have access to browsers running on powerful computing devices such as workstations or PCs. Such devices are not only linked to the Internet via reasonably high-speed and high-bandwidth data connections, but are also equipped with powerful software and hardware for processing and rendering accessible the received multi-media data. Authors make ample use of this infrastructure by creating webpages of ever-increasing complexity, both in terms of the data contents itself which may incorporate a large variety of audio and graphics formats, and executable contents such as applets for advanced functions such as payments, etc.
As users become more accustomed to relying on the web as a general-purpose information source, access to the web is becoming more desirable for users on-the-move, using devices such as mobile telephone handsets or small and lightweight hand-held computing devices. However, users of such devices face problems when trying to access the existing world-wide-web infrastructure: Mobile hand-held devices are connected to the Internet via an unusually slow and fragile data connection. This leads to unacceptably long down-load times for inefficiently formatted data streams.
The typical content-processing capabilities of these portable devices is poor as compared to PCs, as the available computing power is limited and the hardware used to display the retrieved content is unsophisticated. For example, a very simple mobile hand-held device may only be capable of representing text format.
Much of the content offered by servers through the Internet is constructed with the assumption that it will be processed and displayed on a relatively powerful computing device. The server could create several representations of the content where each representation is tailored to a specific computing device such as a pager, a mobile telephone handset, a laptop, a high-resolution PC and so on. However, this requires a significant amount of re-authoring since large portions of existing server content must be manually modified. Maintaining several copies of each single page is also undesirable.
An alternative solution is for the client to use a transcoder service. The function of a transcoder is to reformat content received from a server in order to reduce the amount of information which is to be transferred to the client, given the available restricted bandwidth between server and client, and to ensure that such the transferred data is representable at the client, given the display- and processing capabilities of the client. The transcoder therefore requires knowledge of the data link to the client, and also knowledge of the client's processing/display capabilities.
Common tasks that the transcoder might perform on content destined for the client include the removal of audio or graphic content, converting between graphics formats, compression and decompression, or converting from a marked-up language, such as HTML, into other data representations, e.g. speech.
Usually all content sent from the server to the client passes through the transcoder. To perform the transcoding, the transcoder requires unrestricted access to all data. As this may include security-sensitive information, the transcoder should therefore be considered a trusted party. Security may then be maintained by establishing a secure channel, for example, by using the Secure-Socket-Layer protocol, SSL, between the server and the transcoder, and a separate secure channel between the transcoder and the client, or by incorporating the transcoder within either the server or the client and using SSL between the two. If the transcoder cannot be trusted, then the transcoding service is limited to operating on content with little or no value.
Unfortunately, incorporating transcoder functionality into the server or client is unacceptable except for few, highly security-sensitive applications, since it involves upgrades to server software and usually server hardware. In addition, mobile devices evolve at high rates and transcoder functionality is likely to evolve at a similar rate, leading to tight software replacement cycles.
External transcoder services which may be offered as a commercial service by a hand-held-device manufacturer, a data network operator or an ISP, and which could be incorporated with existing proxy-servers, are clearly a more suitable and scaleable solution. Unfortunately, such third-party provided transcoders can rarely be viewed as trusted parties. Security must then be provided by applying end-to-end encryption between the server and the client, leaving the transcoder the impossible task of operating on the encrypted data stream.
In conjunction with existing end-to-end encryption methods, known transcoders cannot be used since they require plain-text access to the entire data stream. Their actions cannot be verified by the clients, thus making them even less applicable for security-sensitive data transfers.
A transcoder is e.g. described in U.S. Pat. No. 5,544,266. In U.S. Pat. No. 5,729,293, a device for transcoding coded digital signals which are representative of a sequence of images, which device comprises a variable length decoding channel followed by a variable length encoding and decoding channel, is described. A prediction sub-assembly is connected in cascade between these two channels, and this sub-assembly comprises, in series, between two subtracters a picture memory and a circuit for motion compensation in view of displacement vectors which are representative of the motion of each image. Other implementations are possible, and particularly a scaleable one in which said prediction sub-assembly comprises at least two and more generally a plurality of similar encoding and decoding channels arranged in cascade and corresponding to the same number of image quality levels.
U.S. Pat. No. 5,745,701 describes a system for interconnecting local networks via a public transmission network, in which equipment items of the microcomputer type, connected to a local network are capable of being connected to the public network by a router in order to communicate with one or more equipment items of the microcomputer type connected to at least one other local network, which are capable of being linked to the public network by a router. The system includes security protection of the establishment of the communications between the local networks over the public network, implementing a certificate exchange mechanism and the software procedures for active authentication, of the “challenge-response” type being placed in the routers. The described network would be a typical application field for using transcoding.